package com.xbongbong.saas.service;

import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.pro.common.pojo.CheckRepeatToolPojo;
import com.xbongbong.pro.common.pojo.dto.CheckRepeatToolDTO;
import com.xbongbong.pro.common.pojo.dto.MobileCheckRepeatToolDTO;
import com.xbongbong.pro.common.pojo.dto.SeniorReCheckSearchDTO;
import com.xbongbong.pro.common.pojo.vo.CheckRepeatToolVO;
import com.xbongbong.pro.weblist.pojo.dto.RepeatToolFieldGetDTO;
import com.xbongbong.pro.weblist.pojo.vo.RepeatFieldListVO;

/**
 * @author jiangren.li
 * @version v1.0
 * @date 2022/11/12 10:39
 * @since v1.0
 */
public interface RecheckingService {

    /**
     * 搜索查重(常用)
     *
     * @param
     * @author lijiangren
     * @date 2022-11-14 20 55
     */
    CheckRepeatToolVO searchCommonRecheck(CheckRepeatToolDTO checkRepeatToolDTO) throws XbbException;

    /**
     * 搜索查重(常用) 通过切换具体表单，传入表单ID
     *
     * @param
     * @author lijiangren
     * @date 2022-11-14 20 55
     */
    CheckRepeatToolPojo searchCommonRecheckByFormId(CheckRepeatToolDTO checkRepeatToolDTO) throws XbbException;
    /**
     * 搜索查重(高级)
     *
     * @param
     * @author lijiangren
     * @date 2022-11-14 20 55
     */
    CheckRepeatToolVO searchSeniorRecheck(SeniorReCheckSearchDTO seniorReCheckSearchDTO) throws XbbException;

    /**
     * 搜索查重(高级)切换tab页通过具体的formId
     *
     * @param
     * @author lijiangren
     * @date 2022-11-14 20 55
     */
    CheckRepeatToolPojo searchSeniorRecheckByFormId(SeniorReCheckSearchDTO seniorReCheckSearchDTO) throws XbbException;

    /**
     * 查重工具获取查重参数
     * @param repeatToolFieldGetDTO
     * @return
     * @throws XbbException
     */
    RepeatFieldListVO getRepeatField(RepeatToolFieldGetDTO repeatToolFieldGetDTO) throws XbbException;

    /**
     * @description 移动端查重工具返回值封装
     * @author yanglei
     * @date 2022/12/2 14:57
     * @param checkRepeatToolDTO
     * @return CheckRepeatToolVO
     */
    CheckRepeatToolVO mobileToolCheckRepeat(MobileCheckRepeatToolDTO checkRepeatToolDTO) throws XbbException;
    /**
     * @description 移动端查重工具 按模板查重 返回值封装
     * @author yanglei
     * @date 2022/12/2 14:59
     * @param checkRepeatToolDTO
     * @return CheckRepeatToolPojo
     */
    CheckRepeatToolPojo mobileToolCheckRepeatByFormId(MobileCheckRepeatToolDTO checkRepeatToolDTO) throws XbbException;
}
